package com.nuoniu.sibanyun.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 组织机构表
 * </p>
 *
 * @author baiqiang
 * @since 2020-05-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_office")
@ApiModel(value="SysOffice对象", description="组织机构表")
public class SysOffice extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "父级id")
    @TableField("parent_id")
    private Integer parentId;

    @ApiModelProperty(value = "所有父级id")
    @TableField("parent_ids")
    private String parentIds;

    @ApiModelProperty(value = "本级排序号（升序）")
    @TableField("tree_sort")
    private Integer treeSort;

    @ApiModelProperty(value = "所有级别排序号")
    @TableField("tree_sorts")
    private String treeSorts;

    @ApiModelProperty(value = "是否最末级")
    @TableField("tree_leaf")
    private Boolean treeLeaf;

    @ApiModelProperty(value = "层次级别")
    @TableField("tree_level")
    private Integer treeLevel;

    @ApiModelProperty(value = "全节点名")
    @TableField("tree_names")
    private String treeNames;

    @ApiModelProperty(value = "机构代码")
    @TableField("office_code")
    private String officeCode;

    @ApiModelProperty(value = "机构名称")
    @TableField("office_name")
    private String officeName;

    @ApiModelProperty(value = "机构全称")
    @TableField("full_name")
    private String fullName;

    @ApiModelProperty(value = "机构类型")
    @TableField("office_type")
    private Integer officeType;

    @ApiModelProperty(value = "负责人")
    @TableField("leader")
    private String leader;

    @ApiModelProperty(value = "办公电话")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "联系地址")
    @TableField("address")
    private String address;

    @ApiModelProperty(value = "邮政编码")
    @TableField("zip_code")
    private String zipCode;

    @ApiModelProperty(value = "电子邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "状态（0正常 1删除 2停用）")
    @TableField("status")
    private Boolean status;

    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_date")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_date")
    private LocalDateTime updateDate;

    @ApiModelProperty(value = "备注信息")
    @TableField("remarks")
    private String remarks;

    @ApiModelProperty(value = "租户id")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "租户名称")
    @TableField("company_name")
    private String companyName;

    @ApiModelProperty(value = "公司编码")
    @TableField("company_code")
    private String companyCode;


}
